import {
	hrefURL,   // 域名
} from "./api.js";
let jweixin = require('./jweixin.js'); // 微信开放接口1.6.0
let  starturl = `${hrefURL}index.php/api/user/getSignPackage`;
export default {
	//判断是否在微信中
	isWechat: function() {
		var ua = window.navigator.userAgent.toLowerCase();
		if (ua.match(/micromessenger/i) == 'micromessenger') {
			return true;
		} else {
			uni.showToast({
				icon: 'none',
				title:"请在微信端打开",
				duration: 1500
			})
			return false;
		}
	},
	//初始化sdk配置
	initJssdk: function(callback) {
		let url = encodeURIComponent(window.location.href.split('#')[0])
		uni.request({
			url: starturl,
			data: {
				url
			},
			success: (res) => {
				console.log(res)
				jweixin.config({
					debug: false,
					appId: res.data.data.appId,
					nonceStr: res.data.data.noncestr,
					timestamp: res.data.data.timestamp,
					signature: res.data.data.signature,
					jsApiList: [
						"getNetworkType",
						"getLocation",
						"openLocation",
						"playVoice",
						"scanQRCode",
						"chooseWXPay",
					]
				})
	
				if (callback) {
					callback(res.data.data);
				}
			},
			fail: (err) => {
				console.log('请求出错');
			}
		})
	},
	//微信支付
	wxpay: function(data, callback) {
		let that = this;
		if (!this.isWechat()) {
			return;
		}
		this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.chooseWXPay({
					// 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
					timestamp: data.timeStamp,
					nonceStr: data.nonceStr, // 支付签名随机串，不长于 32 位
					package: data.package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=\*\*\*）
					signType: data.signType, // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'
					paySign: data.paySign, // 支付签名
					success: function(res) {
						callback(res)
					},
					fail: function(res) {
						callback(res)
					},
					cancel: function(res) {
						callback(res)
					},
				});
			});
		});
	},
	// 获取网络状态(测试)
	getNetworkType: function(callback) {
		if (!this.isWechat()) {
			return;
		}
		this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.getNetworkType({
					success: function(res) {
						callback(res)
					},
					fail: function(res) {},
				});
	
				jweixin.error(function(err) {
					console.log(err, 'read失败')
				});
			});
		});
	},
}